"""
sql_compiler 包初始化模块。

核心设计说明：
- 明确导出各子模块的主接口，便于外部统一引用和 IDE 自动补全。
- 采用 __all__ 控制导出符号，防止未公开类/函数被误用，增强封装性。
- 便于未来扩展（如增加 SQLCompiler 工厂、注册机制等）。
- 保持各模块解耦，便于单元测试和维护。
"""

from .lexer import Lexer
from .parser import Parser
from .semantic import SemanticAnalyzer
from .planner import Planner
from .catalog import Catalog

# TODO: 如需支持 SQLCompiler 工厂或注册机制，可在此实现并导出

__all__ = [
    'Lexer',
    'Parser',
    'SemanticAnalyzer',
    'Planner',
    'Catalog',
    # 'SQLCompiler',  # FIXME: 若未实现 SQLCompiler 类，请移除或实现后再导出
]